package com.mrlee.mapper;

import com.mrlee.bean.Service;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ServiceMapper {
    /**
     * 根据业务Id删除
     * @param serviceId
     * @return
     */
    int deleteByPrimaryKey(Integer serviceId);

    /**
     * 添加业务
     * @param record
     * @return
     */
    int insert(Service record);

    /**
     * 动态添加业务
     * @param record
     * @return
     */
    int insertSelective(Service record);

    /**
     * 根据业务Id查找业务
     * @param serviceId
     * @return
     */
    Service selectByPrimaryKey(Integer serviceId);

    /**
     * 动态修改
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Service record);

    /**
     * 修改
     * @param record
     * @return
     */
    int updateByPrimaryKey(Service record);

    /**
     * 查找全部业务
     * @return
     */
    List<Service> selectAllService();

    /**+
     * 修改暂停时间
     * @param serviceId
     * @param time
     */
    void updatePauseDate(@Param("serviceId")Integer serviceId, @Param("time") String time);

    /**
     * 修改关闭时间
     * @param serviceId
     * @param time
     */
    void updateCloseDate(@Param("serviceId")Integer serviceId,@Param("time") String time);

    /**
     * 修改状态
     * @param serviceId
     * @param status
     * @return
     */
    int updateStatus(@Param("serviceId")Integer serviceId,@Param("status")Integer status);

    /**
     * 根据账务账号Id查找业务
     * @param accountId
     * @return
     */
    List<Service> selectSeviceByAccountId(@Param("accountId")Integer accountId);

    /***
     * 根据状态查找业务
     * @param status
     * @return
     */
    List<Service> selectServiceByStatus(@Param("status")String status);

    /**
     * 根据业务登录名查找业务
     * @param osname
     * @return
     */
    Service selectServiceByOsName(@Param("osname")String osname);

    /**
     * 根据ip地址查找业务
     * @param ip
     * @return
     */
    Service selectServiceByIp(@Param("ip")String ip);

    /**
     * 根据身份证号查找业务
     * @param cardid
     * @return
     */
    List<Service> selectServiceByCardId(@Param("cardid")String cardid);

    /**
     * 动态查询
     * @param osname
     * @param cardid
     * @param status
     * @param ip
     * @return
     */
    List<Service> dynamicSearch(@Param("osname") String osname,@Param("cardid") String cardid,@Param("status") String status,@Param("ip") String ip);

}